﻿using System.Drawing;

namespace PoliticalClassifier.Support
{
    public interface IPlotGenerator
    {
        /// <summary>
        /// Creates an in-memory image of a plot from the given data.
        /// </summary>
        /// <param name="medianPoint">The median point of the data points.</param>
        /// <param name="dataPoints">The voter data (in world units).</param>
        /// <param name="plotRange">The range of the plot across the image (in world units).</param>
        /// <param name="radiusOfPointCircle">The radius of the circle that will be used to represent a point (in world units).</param>
        /// <param name="alphaOfPointCircle">The alpha value of the circle that will be used to represent a point: [0 - 255].</param>
        /// <returns>The image representation of the plot.</returns>
        Image CreatePlotImage(Point2D medianPoint, Point2D[] dataPoints, Range2D plotRange, double radiusOfPointCircle, byte alphaOfPointCircle);
    }
}
